1. Field of the Invention
The present invention relates to a method, system, and computer program product for determining weight values for storage devices in a storage tier to use to select one of the storage devices to use as a target storage to which data from a source storage is migrated.
2. Description of the Related Art
A Multi-tiered Storage System is a strategic networked storage method where data is stored on various types of storage devices primarily based on criteria of the access, frequency of use, security and data recovery requirements. For space and performance optimization, the data is transferred between high-cost and low-cost storage media. Such systems exist because high-speed storage devices, such as Solid State devices (SSD), Hard Disk Drive Arrays, etc., are more expensive (per byte stored) than the slower storage devices, such as optical discs and magnetic tape drives. While it would be ideal to have all data available on high-speed devices all the time, this is prohibitively expensive for many organizations. Instead, tiered systems store the bulk of the enterprise's data on slower devices, and then migrate more frequently accessed data to faster media when needed. The advantage is that the total amount of stored data can be much larger than the capacity of the active storage media available. In effect, tiered systems turn the fast storage devices into caches for the slower mass storage devices.
In an Enterprise Data Center with four tiers of storage devices, each tier comprises heterogeneous devices of similar storage class, such as devices from different vendors, devices with different quality of service (QoS) parameters such as—durability, Mean Time between Failure etc. Typically the Tier-1 devices are costlier then Tier-2 devices, and Tier-2 devices are costlier then Tier-3 devices and reverse is the order of data performance in these tiers. In one example, Tier 0 comprises volatile memory (e.g. RAM), Tier 1 comprises fastest access storage devices, such as solid state storage devices (SSDs), Tier 2 comprises a capacity tier with cost-optimized storage systems, such as a Serial AT Attachment (SATA) Redundant Array of Independent Disks (RAID), which is used to store less active data migrated from Tier 1, and Tier 3 which comprises an archive tier that provides a storage layer for long term archiving. Tier 3 is used for data migrated from Tier 2 that is not required in near future.
In a typical multi-tiered system, data files which are frequently used/accessed are stored on faster devices, but are eventually migrated (based on policies) to slower devices if they are not used for a certain period of time. In this way, data may be migrated from Tier-1 to Tier-2, and from Tier-2 to Tier-3 devices. When a file is migrated, a reference to the file, called a stub, is left on the device from which the data is migrated to make the file appear immediately available for use when in fact the data represented by the stub may be on a lower tier device. When a stub file is accessed by the application, device driver software intercepts the access, retrieves the data from its actual location and writes the data file back to the higher tier with the stub reference to allow the user to proceed. This process is transparent to the user who may be unaware that the file data was being stored on a different storage device. However, the user may experience a slight delay resulting from having to migrate back the data to the location of the stub file.